#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <algorithm>


//true：a排在前面
bool MyCompare(int a, int b) {
	if (a<0 && b >0) {
		return true;
	}
	if (a > 0 && b < 0) {
		return false;
	}
	if (a < 0 && b < 0) {
		return a < b;
	}
	return a > b;
}


/**
 * 
 * 时间复杂度 O(nlogn)
 * 空间复杂度 O(1)
 * 
 * 正负排序
 * 
 * @return 
 */
int main() {
	
	int arr[110]{};
	int n;
	
	scanf("%d", &n);

	for (int i = 0; i < n; i++) {
		scanf("%d", &arr[i]);
	}

	std::sort(arr, arr + n, MyCompare);

	for(int i = 0; i < n; i++) {
		printf("%d ", arr[i]);
	}


	return 0;
}